1

写在开头

1.第二次发布,希望能发布上
2.每当碰到新的问题搜索时,总是搜索多个结果才能从复杂的答案中理解清楚
3.直到遇到了思否,答案简单明了,一看就懂
希望自己也能很清晰地表达清楚,让朋友一看就懂,知道什么时候该用它
以后会努力学习,写一写关于前端框架和es6的

es6 find

arr.find(item,index,arr)=>{return item.id == 2}
//(item里每一项对比,条件)
//item为循环的每一项
//index为角标
//arr为数组

数据数组

const arr = [
        {id:"1",name:"Jim",age:"20"},
        {id:"2",name:"Lily",age:"18",test:"测试"},
        {id:"3",name:"Mei",age:"45"},
        {id:"2",name:"Jane",age:"13"}
    ]

实例问题

寻找id=2 的数据?

解决写法

1.之前for循环写法

let output=[]
for(let i = 0;i<arr.length;i++ ){
    if (arr[i].id==2) {
                         output.push(arr[i])
                      }          
}
// {id: "2", name: "Lily", age: "18", test: "测试"},{id: "2", name: "Jane", age: "13"}

2 用find写法

let output = arr.find((item,index,arr)=>{
   return item.id == '2'
})
// {id: "2", name: "Lily", age: "18", test: "测试"}

3 用findIdex找到数组下标

let index = arr.find((item,index,arr)=>{
   return item.id == '2'
})
arr.splice(index,1)
// {id: "2", name: "Lily", age: "18", test: "测试"} 被删除

总结

  • 数组内数据查询
  • 当我们需要查询出唯一一条数据时,可以选择用find
  • 当查询不到符合条件的数据时,返回 undefined

注意

  • 当find查询到第一条与条件相符的数据时,会停止查询,只会查询出第一条相符数据
  • 不兼容IE浏览器 (不包含IE edge)

Mando
209 声望2 粉丝